【アップデート】AWS Security Hub で Compliance.SecurityControlId などの検出結果フィールドが追加されました【統合に備えよう】
以下 AWS Security Hub のアップデートを紹介します。
- New ASFF fields
- Security Hub has added ProductFields.ArchivalReasons:0/Description and ProductFields.ArchivalReasons:0/ReasonCode to the AWS Security Finding Format (ASFF).
- February 8, 2023
- New ASFF fields
- Security Hub has added Compliance.AssociatedStandards and Compliance.SecurityControlId to the AWS Security Finding Format (ASFF).
- January 31, 2023
– Document history for the AWS Security Hub User Guide - AWS Security Hub
これは以下ドキュメントやブログで記載されている AWS Security Hub の新機能「統合コントロールビュー(consolidated controls view)」、 「統合コントロール検出結果(consolidated control findings)」に向けたアップデートとなります。
- Upcoming features: consolidated controls view and consolidated control findings - AWS Security Hub
- [注意喚起]AWS Security Hubが統合コントロールビューと統制結果の統合を対応予告しました[ASFFフィールド変更] | DevelopersIO
どんなアップデート?
AWS Security Hub には 「AWS上のセキュリティチェック結果」や、 「他サービスからのセキュリティイベント」を集約する役割があります。 集約する際に、 AWS Security Hub Finding Format(ASFF) という共通の形式(JSON)でまとめます。
このASFFに新規フィールドが追加されました。以下 4項目です。
フィールド | 概要 |
---|---|
Compliance.SecurityControlId |
コントロールID |
Compliance.AssociatedStandards |
コントロールが関連付けられているセキュリティ標準 |
ProductFields.ArchivalReasons:0/Description |
検出結果がアーカイブされた理由の説明 |
ProductFields.ArchivalReasons:0/ReasonCode |
検出結果がアーカイブされた理由のコード |
はじめに言ったとおり、このアップデートは 今後のセキュリティ標準のアップデート に備えたものです。 なので、最低限 セキュリティ標準関連の検出結果には付いているフィールドとなります。
Compliance.XXX
部分を実際に見てみる
「AWS基礎セキュリティのベストプラクティス(以降AFSBP)」のケース
AFSBPの Config.1: AWS Config should be enabled
を見てみます。
それぞれのチェック結果(検出結果)の右側にある Finding.json を選択すると、 どのような ASFF で保存されているか、確認できます。
以下キャプチャ部分が今回の更新で追加されたものです。
"Compliance": { "Status": "PASSED", "SecurityControlId": "Config.1", "AssociatedStandards": [ { "StandardsId": "standards/aws-foundational-security-best-practices/v/1.0.0" } ] },
※なお、コントロールID自体は ProductFields.ControlId
でも取得できています。(これは従来からあるものです)
「CIS AWS Foundations Benchmark v.1.2.0(以降CIS)」 のケース
CISの 2.5 - AWS Config が有効になっていることを確認する
を見てみます。 ※内容としては AFSBPの Config.1
と同じです。
検出結果JSONはこんな感じです。
"Compliance": { "Status": "PASSED", "SecurityControlId": "Config.1", "AssociatedStandards": [ { "StandardsId": "ruleset/cis-aws-foundations-benchmark/v/1.2.0" } ] },
Compliance.ControlId(=Config.1)
の値が、 従来あった ProductFields.RuleId(=2.5)
と違う点に注意してください。
ProductFields.XXX
部分を実際に見てみる
マネジメントコンソールの [Security Hub > Findings] にてフィルタ( Record state is "ARCHIVED"
) をつけて、アーカイブされた検出結果一覧を確認できます。 そのうちの1項目のJSONを見てみました。
以下キャプチャのとおり、 ProductFields.ArchivalReasons:0/Description
と ProductFields.ArchivalReasons:0/ReasonCode
を確認できました。
"ProductFields": { "StandardsArn": "arn:aws:securityhub:::standards/aws-foundational-security-best-practices/v/1.0.0", "StandardsSubscriptionArn": "arn:aws:securityhub:ap-northeast-1:123456789012:subscription/aws-foundational-security-best-practices/v/1.0.0", "ControlId": "SSM.4", ### (略) ### "ArchivalReasons:0/ReasonCode": "NOT_UPDATED_WITHIN_THREE_DAYS", "ArchivalReasons:0/Description": "The finding is in an ARCHIVED state because the finding was generated by a security check and it hasn't been updated in 3 days. This could be due to the resource being deleted or the control being disabled.", "aws/securityhub/FindingId": "arn:aws:securityhub:ap-northeast-1::product/aws/securityhub/arn:aws:securityhub:ap-northeast-1:123456789012:subscription/aws-foundational-security-best-practices/v/1.0.0/SSM.4/finding/6e6a9f3e-c7e4-43f4-8129-13f1afbb7236" },
手元の検証環境で確認できた ReasonCode は NOT_UPDATED_WITHIN_THREE_DAYS
のみでした。 それの Description (及び機械翻訳)は以下のとおり。
"The finding is in an ARCHIVED state because the finding was generated by a security check and it hasn't been updated in 3 days. This could be due to the resource being deleted or the control being disabled."
↓ 機械翻訳
発見がARCHIVED状態になっているのは、発見がセキュリティチェックによって生成され、3日間更新されていないためです。これは、リソースが削除されたか、コントロールが無効になっていることが原因である可能性があります。
それぞれの活用について
「統合コントロールビュー」に向けて
対応予告のドキュメント にも、「統合コントロールビュー」リリース後の フィールド変化として、今回の4つが存在します。
今後「統合コントロールビュー」で利用するために、 先行して追加された感じでしょうか。
「統合コントロールビュ」ーに関しては、 利用者側での追加対応は特に無いと思います。 新しいSecurity Hubのコンソールページを楽しみにしましょう。
"副作用のある"「統合コントロール検出結果」に向けて
また、もう一つの予定されている新機能 「統合コントロール検出結果」 に向けた変更でもあります。
これは各標準(AFSBPやCIS)の共通するチェック(Config.1や 2.5)を 1つの検出結果 で扱う 機能です。将来実装され、既存環境については 顧客側で手動有効化 する必要があります。
2023/02/21時点の 対応予告ページ を見る限り、イメージはこんな感じだと思います。
▼ Compliance.AssociatedStandards と Compliance.SecurityControlId について
StandardsArn(StandardsGuideArn)や ControlId(RuleId)が削除されるところを見て分かる通り、 「統合コントロール検出結果」には 副作用があります 。
EventBridgeのフィルタなどで、これらを参照している場合は、 代わりに今回追加された SecurityControlId や AssociatedStandards を活用しましょう。
実際に対応予告ページにもそのように書かれています。
Changes to control finding fields and values after turning on consolidated control findings
ProductFields.ControlId
: Removed. See Compliance.SecurityControlId instead.ProductFields.RuleId
: Removed. See Compliance.SecurityControlId instead.ProductFields. StandardsArn
: Removed. See Compliance.AssociatedStandards instead.ProductFields.StandardsGuideArn
: Removed. See Compliance.AssociatedStandards instead.– 引用: Upcoming features: consolidated controls view and consolidated control findings - AWS Security Hub
「事前に SecurityControlId と AssociatedStandards を実装したから移行してくれよな!」 というアップデートと捉えることもできるでしょう。
▼ ProductFields.ArchivalReasons:0/Description と ProductFields.ArchivalReasons:0/ReasonCode について
また、こういったASFFの変更があるためか、 将来実装される「統合コントロール検出結果」機能をONにすると、 もともとあったセキュリティ標準の検出結果は 一度全てアーカイブ されます。 そして、「統合コントロール検出結果」に合わせた検出結果が再生成されます。
「"統合コントロール検出結果への移行" によってアーカイブされた検出結果である」 ことを分かるようにするために、 ProductFields.ArchivalReasons:0/Description と ProductFields.ArchivalReasons:0/ReasonCode は役に立つでしょう。
実際に ASFF example には CONSOLIDATED_CONTROL_FINDINGS_UPDATE
のケースが載っています。
"ProductFields": { "API", "DeleteTrail", "ArchivalReasons:0/Description": "The finding is in an ARCHIVED state because consolidated control findings has been turned on or off. This causes findings in the previous state to be archived when new findings are being generated.", "ArchivalReasons:0/ReasonCode": "CONSOLIDATED_CONTROL_FINDINGS_UPDATE", "aws/inspector/AssessmentTargetName": "My prod env", "aws/inspector/AssessmentTemplateName": "My daily CVE assessment", "aws/inspector/RulesPackageName": "Common Vulnerabilities and Exposures", "generico/secure-pro/Action.Type", "AWS_API_CALL", "generico/secure-pro/Count": "6", "Service_Name": "cloudtrail.amazonaws.com" }
おわりに
以上、検出結果フィールド追加のアップデートを紹介しました。 統合コントロールの新機能は『2023年の第1四半期にリリースされる予定』と書かれているので、 そろそろ来るのではないでしょうか。
機能追加されたときに、スムーズに移行できるように備えておきましょう。
※対応予告ページには「変更される可能性があり」と書かれています。なので、今後の進展は以下ドキュメントや公式の案内を待ちましょう。